昨天已經完成匯出/匯入,今天要挑戰的是另一個真實世界的痛點 —— 沒有網路時也能寫日記。
畢竟日記是隨時隨地的靈感記錄,不能因為斷網就卡住。
所以今天的目標是把日記系統升級成 PWA 網頁版離線模式,即使沒有網路也能使用,恢復連線後再自動同步。
幫我在 React (Firestore + Auth) 的日記網頁加入「PWA 離線模式」  
=== 功能需求 ===  
1) PWA 設定  
   - 新增 manifest.json(app 名稱、icon、display: standalone)  
   - 註冊 Service Worker (sw.js),快取 HTML、CSS、JS  
2) 離線寫入  
   - 斷網時,日記存到 IndexedDB  
   - 格式:{ id, date, content, sentiment, isSynced: false }  
3) 上線同步  
   - 監聽 `window.addEventListener('online', ...)`  
   - 從 IndexedDB 取出 isSynced=false 的資料 → 寫入 Firestore  
   - 成功後更新 isSynced=true  
4) UI  
   - 離線時顯示「目前為離線模式」  
   - 上線同步時顯示「同步中 → 完成」  


 
Day 21 要邁向真正上線的里程碑 —— 部署
在完成了匯出/匯入與離線模式後,是時候把專案丟到雲端,讓任何地方都能開啟並使用